package main

import (
	"log"
	"net/http"

	"github.com/gin-gonic/gin"
)

func LoginTp(c *gin.Context) {
	log.Println(">>> UpdateUser function start  <<<")

	// 返回html页面，通过gin.H传递模板参数
	c.HTML(http.StatusOK, "base/login.html", gin.H{
		"title": "登录页面",
	})
}

func Login(c *gin.Context) {
	log.Println(">>> UpdateUser function start  <<<")

	c.JSON(http.StatusOK, gin.H{
		"msg": "login successful",
	})
}

func RegisterTp(c *gin.Context) {
	log.Println(">>> RegisterTp function start  <<<")
}

func Register(c *gin.Context) {
	log.Println(">>> Register function start  <<<")

	c.JSON(http.StatusOK, gin.H{
		"msg": "register successful",
	})
}

func main() {

	r := gin.Default()

	// 加载模板
	r.LoadHTMLGlob("templates/**/*")
	// r.LoadHTMLGlob("templates/*")，单层级模板

	// 设置静态文件路由
	r.Static("/assets", "./assets")

	// 设置静态文件列表
	r.StaticFS("/more_static", http.Dir("./more_static"))

	//获取相对路径下的文件，和nginx的rewrite相似
	r.StaticFile("/1.png", "./assets/1.png")

	// 设置多级路由
	v1 := r.Group("v1")
	base := v1.Group("base")
	{
		base.GET("/login", LoginTp)       // 获取登录页面
		base.POST("/login", Login)        // 登录
		base.GET("/register", RegisterTp) // 获取注册页面
		base.POST("/register", Register)  // 注册

	}

	r.Run()
}
